
struct B {

}

impl B {
    fn run(&mut self, mut invoke: impl FnMut()) {
        handle(|| {
        });
    }
    fn say(&mut self) {
        println!("say")
    }
}

fn handle(mut invoke: impl FnMut()) {
    invoke();
}

#[test]
fn test_run() {
    let mut b = B {};


    //
    // b.run( || {
    //     b.say(); // 使用新的可变引用来调用方法
    // });
}